package com.bestcem.xm.common.core.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 数据检查错误枚举，错误码必须落于400~499之间，包含400和499
 * <p>
 * 处理诸如：用户输入密码格式错误，两次密码不一致，缺少必要参数等错误。
 *
 * @author ympan <yuming.pan@idiaoyan.com>
 * @version v3.0
 * @date 2021/8/17 18:13
 */
@Getter
@AllArgsConstructor
public enum ValidationErrorCodeEnum implements CommonErrorEnum {

    /**
     * 公司名为空
     */
    ORG_EMPTY(401, "公司名为空"),

    /**
     * 用户名为空
     */
    USER_NAME_EMPTY(402, "用户名为空"),

    /**
     * 密码为空
     */
    PWD_EMPTY(403, "密码为空"),

    /**
     * 用户邮箱不存在
     */
    USER_EMAIL_NOT_EXISTS(404, "用户邮箱不存在"),

    /**
     * 验证码错误
     */
    CAPTCHA_ERROR(405, "验证码错误"),

    /**
     * 密码过于简单
     */
    SIMPLE_PASSWD(406, "密码过于简单"),

    /**
     * 投放非法
     */
    DELIVER_INVALIDATE(407, "投放非法"),

    /**
     * 投放结束
     */
    DELIVER_END(408, "投放结束"),

    /**
     * 投放审核完成
     */
    DELIVER_CHECK_FINISH(409, "投放审核完成"),

    /**
     * 投放时间过期
     */
    DELIVER_TIME_EXPIRED(410, "投放时间过期"),

    /**
     * 组织投放审核属性不匹配
     */
    ORG_DELIVER_CHECK_CHANGED(411, "组织投放审核属性不匹配"),

    /**
     * 投放审核已驳回
     */
    DELIVER_CHECK_FAIL(412, "投放审核已驳回"),

    /**
     * 手机号格式错误
     */
    PHONE_ERROR(413, "手机号格式错误"),

    /**
     * 密码不一致
     */
    PWD_NEQ_ERROR(414, "密码不一致"),

    /**
     * 密码格式错误
     */
    PWD_PATTERN_ERROR(415, "密码格式错误"),

    /**
     * 邮箱格式错误
     */
    EMAIL_ERROR(416, "邮箱格式错误"),

    /**
     * 手机号已存在
     */
    PHONE_EXISTS_ERROR(417, "手机号已存在"),

    /**
     * 邮箱已存在
     */
    EMAIL_EXISTS_ERROR(418, "邮箱已存在"),

    /**
     * 短信验证码错误
     */
    VCODE_ERROR(419, "短信验证码错误"),

    /**
     * 邮件服务器不可用
     */
    EMAIL_SERVER_DISABLED(420, "邮件服务器不可用"),

    /**
     * 端口未开放
     */
    PORT_DISABLED(421, "端口未开放"),

    /**
     * 参数值长度过大
     */
    VALUE_TOO_LENGTH(422, "参数值长度过大"),

    /**
     * 钱包余额不足
     */
    WALLET_BALANCE_SHORTAGE(423, "钱包余额不足"),

    /**
     * 编号重复不可用
     */
    DATA_DUPLICATE(424, "编号重复不可用"),

    /**
     * 名称重复
     */
    NAME_DUPLICATE(425, "名称重复"),

    /**
     * 组织状态不可用
     */
    ORG_NOT_ACTIVE(426, "组织状态不可用"),

    /**
     * BI分享信息错误
     */
    BI_SHARE_INFO_ERROR(427, "BI分享信息错误"),

    /**
     * 不合法ID
     */
    OID_ERROR(428, "不合法ID"),

    /**
     * 资源非法
     */
    INVALIDATE_URL(429, "资源非法"),

    /**
     * 文件类型不正确
     */
    FILE_TYPE_NOT_RIGHT(431, "文件类型不正确"),

    /**
     * 验证码已过期
     */
    VCODE_EXPIRED(432, "验证码已过期");

    private int code;
    private String msg;

    @Override
    public int getCode() {
        return code;
    }

    @Override
    public String getMsg() {
        return msg;
    }
}
    